﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using SistemadeEstágios.DAL;
using SistemadeEstágios.Model;

namespace SistemadeEstágios.Negocio
{

    /// <summary>
    /// Classe que realiza a interligação da Camada de Aplicação para a camada de dados
    /// </summary>
    public class EnpresasNG
    {
        private EmpresasBD _bdEmpresa;

        public EnpresasNG()
        {
            _bdEmpresa = new EmpresasBD();
        }

        public Empresas Buscar(int Empresa)
        {
            return _bdEmpresa.Buscar(Empresa);
        }

        public List<Empresas> Buscar()
        {
            return _bdEmpresa.Buscar();
        }

        public bool Inserir(Empresas obj, bool isNovo)
        {
            try
            {
                if (!isNovo)
                {
                    if (_bdEmpresa.CriaHistorico(obj.Codigo))
                        return _bdEmpresa.Alterar(obj);
                    else
                        return false;
                }
                else
                    return _bdEmpresa.Insere(obj);
            }
            catch (Exception e)
            {
                throw new Exception("Não Foi possível Inserir a Empresa. Erro: " + e.StackTrace);
            }
            
        }

        public int Ultimo()
        {
            try
            {
                return _bdEmpresa.BuscaUltimo();
            }
            catch (Exception e)
            {
                throw new Exception("Não foi possível buscar o ultimo registro. Erro: " + e.StackTrace);
            }
        }
    }
}
